const fs = require('fs');
const path = require('path');

function deleteRecursive(targetPath) {
    // 检查路径是否存在
    if (!fs.existsSync(targetPath)) {
        console.log(`路径 ${targetPath} 不存在`);
        return;
    }

    // 获取路径的状态信息
    const stats = fs.statSync(targetPath);

    if (stats.isFile()) {
        // 如果是文件，直接删除
        fs.unlinkSync(targetPath);
        console.log(`文件 ${targetPath} 已删除`);
    } else if (stats.isDirectory()) {
        // 如果是目录，先读取目录内容
        const files = fs.readdirSync(targetPath);
        
        // 递归删除目录中的所有内容
        for (const file of files) {
            const curPath = path.join(targetPath, file);
            deleteRecursive(curPath);
        }
        
        // 删除空目录
        fs.rmdirSync(targetPath);
        console.log(`目录 ${targetPath} 已删除`);
    }
}

// 从命令行获取参数
const args = process.argv.slice(2);
if (args.length === 0) {
    console.log('请提供要删除的路径');
    process.exit(1);
}

const targetPath = args[0];
deleteRecursive(targetPath);